package com.example.drainage.ui.certupload.dataview

import android.widget.EditText
import androidx.core.view.isVisible

/**
 * 输入框
 *
 * @author 创建人 ：yanghaozhang
 * @version 1.0
 * @package 包名 ：com.augurit.agmobile.agwater5.drainage.complex.emergency.dangerous.view.dataview
 * @createTime 创建时间 ：2021/10/31
 * @modifyBy 修改人 ：
 * @modifyTime 修改时间 ：
 * @modifyMemo 修改备注：
 */
open class EditNormalDataSpot(outputKey: String, protected val editView: EditText, title: String) :
    BaseViewDataSpot<String, Pair<String, String>>(outputKey, editView, title) {

    override fun getToastErrorMsg(): String = "请输入${dataTitle}"

    override fun isReady(): Boolean {
        if (dataIsRequired && getDataType() == FormState.STATE_EDIT) {
            return editView.isVisible && editView.text.toString().isNotBlank()
        }
        return true
    }

    /**
     * 设置纯值
     */
    override fun setPureData(data: String) {
        editView.setText(data)
        editView.setSelection(editView.text.toString().length)
    }

    /**
     * 获取纯值
     */
    override fun getPureData(): String {
        return editView.text.toString()
    }

    /**
     * 设置包装过的值
     */
    override fun setPackData(data: Pair<String, String>) {
        dataOutputKey = data.first
        setPureData(data.second)
    }

    /**
     * 获取包装过的值
     */
    override fun getPackData(): Pair<String, String> {
        return dataOutputKey to getPureData()
    }
}